[[:ddclient]]
{{tag>Dapper Edgy Feisty Gutsy Hardy serveur réseau }}

------


====== Automatiser la gestion des adresses IP dynamiques ======

ddclient permet d'automatiser la mise à jour d'une adresse IP dynamique reliée à un nom de domaine (http://213.95.41.11/ à http://www.ubuntu-fr.org/ par exemple). Ce système est extrêmement pratique quand il s'agit de créer un serveur web personnel accessible rapidement via un nom de domaine, alors que votre adresse IP change régulièrement.

===== Pré-requis =====
<note>
  * S'être inscrit sur l'un des services supportés. Pour les connaître, saisissez la commande suivante : ddclient --help | grep "o '"
  * Disposer des [[:sudo|droits d'administration]];
  * Disposer d'une connexion à Internet configurée et activée;
  * Avoir activé l'accès aux [[:depots#universe_et_multiverse|dépôts Universe et Multiverse]];
</note>
===== Installation =====

Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] [[apt://ddclient|ddclient]].

===== Configuration =====

Commencez par générer le fichier de configuration en tapant :
  sudo dpkg-reconfigure ddclient

Tout d'abord, vous devrez spécifier le service à utiliser. Le ou les noms de domaines qui pointeront vers l'adresse IP dynamique. L'identifiant et le mot de passe avec lesquels vous vous êtes inscrit au service.

ddclient peut prendre connaissance de l'adresse IP dynamique de diverses manières :
^ Paramètre ^ Signification                               ^
| **web** | à partir d'une page web                       |
| **if**  | par une interface réseau (ex : ppp0, eth0...) |
| **fw**  | en interrogeant le routeur                    |
| **cmd** | en exécutant une commande                     |

<note important>Si vous avez choisi une autre option que 'web', il sera nécessaire d'[[:tutoriel:comment_editer_un_fichier|éditer le fichier]] « /etc/ddclient.conf » par la suite afin de spécifier l'interface / ip du routeur / commande à employer.</note>

Si vous êtes derrière un routeur, ce n'est pas l'ordinateur qui initiera la connexion. Par conséquent, répondez non à la question « Faut-il lancer ddclient lors de la connexion PPP ? ».

L'avant dernière question, vous propose de faire tourner ddclient en tâche de fond (daemon). Puisque le but est d'automatiser la mise à jour de l'IP, répondez 'Oui'.

Enfin, vous pouvez définir un délai entre les vérifications. Par défaut, celles-ci s'effectueront toutes les 300s (5 min)





==== ddclient.conf ====

Maintenant que vous avez répondu aux questions, nous pouvons [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] « /etc/ddclient.conf » afin d'affiner les réglages.

Celui-ci se présente sous cette forme :
  pid=/var/run/ddclient.pid 
  protocol=dyndns2            #ou zoneedit1 si vous utilisez zoneedit
  use=web
  server=members.dyndns.org   #ou dynamic.zoneedit.com si vous utilisez zoneedit
  login=identifiant
  password='motdepasse'
  nom.de.domaine              #si plusieurs nom de domaine, separez par ','

^ Option       ^ Signification                                  ^       
| **protocol** | service utilisé pour effectuer la liaison.     |
| **use**      | comment identifier l'adresse IP.               |
| **server**   | serveur utilisé pour effectuer la mise à jour. |
| **login**    | l'identifiant pour le service.                 |
| **password** | le mot de passe pour le service.               |
| **wildcard** | Définit si les adresses du type *.nom.de.domaine fonctionnerons.|
Intéressons nous à l'option **use**. Celle-ci accepte plusieurs paramètres :
^ Paramètre ^ Signification                                                   ^
| **web** | obtiens l'IP à partir d'une page web (par défaut)                 |
| **cmd** | obtiens l'IP en exécutant une commande                            |
| **fw**  | obtiens l'IP en interrogeant un routeur                           |
| **if**  | obtiens l'IP à partir d'une interface réseau (ex : ppp0, eth0...) |
| **ip**  | obtiens l'IP à partir d'une adresse IP                            |

Pour utiliser la plupart de ces paramètres il vous faudra rajouter quelques lignes au fichier de configuration.

Exemple d'obtention à partir d'une interface réseau :
  use=if
  if=ppp0

Exemple d'interrogation d'un routeur :
  use=fw
  fw=ip_du_routeur
  fw-login=identifiant_du_routeur
  fw-password=motdepasse_du_routeur

<note tip>
Par défaut, ddclient récupère la première addresse IP qu'il trouve. Lorsque l'option **fw** est utilisée, il est possible que votre routeur ne fournisse pas la bonne. Pour palier ce problème, vous avez la possibilité de spécifier directement le modèle du routeur. Pour obtenir la liste des routeurs supportés par la version de ddclient installée, saisissez la commande suivante :
  ddclient --help | grep use=
</note>


==== Ajout d'un enregistrement MX à "votredomaine.dyndns.org" ====

Voir [[wpfr>Domain_Name_System#MX_record|Wikipédia]] pour la définition et son utilité.

L'astuce ici est de créer un second enregistrement sur votre compte //dyndns.org// du style **mxvotredomaine.dyndns.org** et qui sera également mis à jour par le démon.

Après avoir créé **mxvotredomaine.dyndns.org**, il vous faut [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/ddclient.conf** de la sorte :

<code>
pid=/var/run/ddclient.pid
protocol=dyndns2
use=web
#use=if; if=web
server=members.dyndns.org
login=votre_login
password='votre_password'
mx=mxvotredomaine.dyndns.org    <--- Adresse de l'enregistrement MX
backupmx=no                     <--- Votre enregistrement MX est prioritaire
votredomaine.dyndns.org,mxvotredomaine.dyndns.org    <--- Mise à jour de l'adresse MX
</code>

Rechargez ensuite **ddclient** :

  sudo /etc/init.d/ddclient force-reload

===== Désinstallation =====

Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

===== Liens =====

  * [[http://ddclient.wiki.sourceforge.net/|Site officiel de ddclient]] [en]
  
----

//Contributeurs : [[utilisateurs:calaereb|Calaereb]]//